home *** CD-ROM | disk | FTP | other *** search
- #define NAME "testSubLibData"
- #define REVISION "2"
-
- /* Programmheader
-
- Name: testSubLibData
- Author: SDI
- Distribution: PD
- Description: prints data of sub libraries
- Compileropts: -
- Linkeropts: -
-
- 1.1 06.12.96 : excluded PrintFlag functions
- 1.2 15.04.97 : renamed from GetXpkSubLibData
- */
-
- #include <pragma/xpksub_lib.h>
- #include <pragma/dos_lib.h>
- #include <pragma/exec_lib.h>
- #include <xpk/xpksub.h>
- #include "SDI_defines.h"
- #include "PrintFlags.c"
-
- #define PARAM "LIBID/A"
-
- struct Library *XpkSubBase = 0;
- struct RDArgs *rda = 0;
- ULONG DosVersion = 37;
-
- void WriteMode(struct XpkMode *, ULONG);
-
- void main(void)
- {
- STRPTR name = "compressors/xpk____.library";
- STRPTR str;
-
- if((rda = ReadArgs(PARAM, (LONG *) &str, 0)))
- {
- struct XpkInfo *xi;
- CopyMem(str,name+15,4); // copies the LibName
-
- if((XpkSubBase = OpenLibrary(name, 0)) &&
- (xi = XpksPackerInfo()))
- {
- VPrintf(
- "xi_XpkInfoVersion : %d\n"
- "xi_LibVersion : %d\n"
- "xi_MasterVersion : %d\n"
- "xi_ModesVersion : %d\n"
- "xi_Name : %s\n"
- "xi_LongName : %s\n"
- "xi_Description : %s\n"
- ,xi);
- str = (STRPTR) &(xi->xi_ID);
- VPrintf("xi_ID : '%.4s'\nxi_Flags : ", &str);
- {
- ULONG i = xi->xi_Flags;
- PrintFlag(&i, XPKIF_PK_CHUNK, "XPKIF_PK_CHUNK");
- PrintFlag(&i, XPKIF_PK_STREAM, "XPKIF_PK_STREAM");
- PrintFlag(&i, XPKIF_PK_ARCHIVE, "XPKIF_PK_ARCHIVE");
- PrintFlag(&i, XPKIF_UP_CHUNK, "XPKIF_UP_CHUNK");
- PrintFlag(&i, XPKIF_UP_STREAM, "XPKIF_UP_STREAM");
- PrintFlag(&i, XPKIF_UP_ARCHIVE, "XPKIF_UP_ARCHIVE");
- PrintFlag(&i, XPKIF_HOOKIO, "XPKIF_HOOKIO");
- PrintFlag(&i, XPKIF_CHECKING, "XPKIF_CHECKING");
- PrintFlag(&i, XPKIF_PREREADHDR, "XPKIF_PREREADHDR");
- PrintFlag(&i, XPKIF_ENCRYPTION, "XPKIF_ENCRYPTION");
- PrintFlag(&i, XPKIF_NEEDPASSWD, "XPKIF_NEEDPASSWD");
- PrintFlag(&i, XPKIF_MODES, "XPKIF_MODES");
- PrintFlag(&i, XPKIF_LOSSY, "XPKIF_LOSSY");
- PrintEndFlag(i, xi->xi_Flags);
- }
-
- VPrintf(
- "xi_MaxPkInChunk : %ld\n"
- "xi_MinPkInChunk : %ld\n"
- "xi_DefPkInChunk : %ld\n"
- "xi_PackMsg : %s\n"
- "xi_UnpackMsg : %s\n"
- "xi_PackedMsg : %s\n"
- "xi_UnpackedMsg : %s\n"
- "xi_DefMode : %d\n"
- "xi_Pad : %d\n"
- ,&(xi->xi_MaxPkInChunk));
- VPrintf("xi_Reserved : %ld,%ld,%ld,%ld,%ld,%ld\n", xi->xi_Reserved);
-
- WriteMode(xi->xi_ModeDesc, 1);
- }
- }
- if(XpkSubBase)
- CloseLibrary(XpkSubBase);
- if(rda)
- FreeArgs(rda);
- }
-
- void WriteMode(struct XpkMode *m, ULONG num)
- {
- STRPTR str = (STRPTR) &(m->xm_Description);
- VPrintf("\nXpkMode No %ld:\n", &num);
-
- VPrintf("xm_Upto : %ld\nxm_Flags : ", &(m->xm_Upto));
- {
- ULONG i = m->xm_Flags;
- PrintFlag(&i, XPKMF_A3000SPEED, "XPKMF_A3000SPEED");
- PrintFlag(&i, XPKMF_PK_NOCPU, "XPKMF_PK_NOCPU");
- PrintFlag(&i, XPKMF_UP_NOCPU, "XPKMF_UP_NOCPU");
- PrintEndFlag(i, m->xm_Flags);
- }
-
- VPrintf(
- "xm_PackMemory : %ld\n"
- "xm_UnpackMemory : %ld\n"
- "xm_PackSpeed : %ld\n"
- "xm_UnpackSpeed : %ld\n"
- "xm_Ratio : %d\n"
- "xm_ChunkSize : %d\n"
- , &(m->xm_PackMemory));
-
- VPrintf("xm_Description : '%.10s'\n", &str);
-
- if(m->xm_Next)
- WriteMode(m->xm_Next, num+1);
- }
-
-